initex [ first line ]
virtex [ first line ]
Any arguments given on the command line to the TeX programs are passed to them as the first input line. As described in The TeXbook, that line should begin with a file name or a \controlsequence. The normal usage is to say ``tex paper'' to start processing paper.tex. The name ``paper'' will be the ``jobname'', and is used in forming output file names. If TeX doesn't get a file name in the first line, the jobname is ``texput''. The default `.tex' extension can be overridden by specifying an extension explicitly.
If there is no paper.tex in the current directory, TeX will look look through a search path of directories to try to find it. The standard library on the default search path has the basic format package, plain.tex, described in the TeXbook, as well as several others. Note that it is hardly ever necessary to \input plain, since the tex program has preloaded it. This means that all of the control sequences discussed in the TeXbook are known to TeX.
The output DVI file is written on name.dvi where name is the jobname. A log of error messages goes into name.log.
Note that there have been incompatible changes in the DVI format between TeX78 and TeX82, so programs used to print TeX78 output will not work for TeX82. A number of output drivers are available. Ask your local TeX guru for information on what one you should use.
There are some environment variables that can be used to set up directory
paths to search when TeX opens a file for input.
For example, the
csh
command
setenv TEXINPUTS .:/usr/me/mylib:/usr/local/lib/tex82
or the
sh
command sequence
TEXINPUTS=.:/usr/me/mylib:/usr/local/lib/tex82
export TEXINPUTS
would cause all invocations of tex and its derivatives to look for
\input files first in the current directory, then in a hypothetical
user's ``mylib'', and finally in the system library.
Normally, the user will place the command sequence which sets up the
TEXINPUTS environment variable in the
.cshrc
or
.profile
file.
The Environment section below lists the relevant environment variables,
and their defaults.
The
e
response to TeX's error prompt causes the
vi
editor to start up at the current line of the current file.
There is an environment variable, TEXEDIT, that can be used to change the
editor used. It should contain a string with "%s" indicating where the
filename goes and "%d" indicating where the decimal linenumber (if any) goes.
For example, a TEXEDIT string for (Gosling's)
emacs
can be set by:
setenv TEXEDIT "/usr/local/emacs -l/usr/lib/tex82/tex-start
-estartline %d %s"
(replacing the path name for the emacs as appropriate on your system).
A convenient file in the library is null.tex, containing nothing. When tex can't find a file it thinks you want to input, it keeps asking you for another file name; responding `null' gets you out of the loop if you don't want to input anything.
Two other TeX programs,
initex
and
virtex,
can be used to create fast-loading customized versions of TeX.
The
initex
program is used to create a
format (.fmt)
file that permits fast loading of fonts and macro packages.
After processing the fonts and definitions desired, a \dump command
will create the format file.
The format file is used by
virtex.
It needs to be given a format file name as the first thing it reads.
A format file name is preceded by an &, which needs to be escaped with \
if given on the command line.
So, for instance, one could create a file myfmt.fmt using initex,
and then set up a cshell alias with
alias mytex "virtex \&myfmt"
to allow the use of ``mytex paper''.